The invention relates to computer graphics generally and, more particularly, to analysis of motion and generation of animated computer graphics.
In the field of computer graphics, the automatic generation of realistic animation, such as synthesis of human motion, has been a difficult problem to solve. Even non-automatic computer-assisted generation of realistic animation has been difficult. Current approaches to realistic human character animation may be classified into two broad categories. One category covers dynamics-based approaches, while the other category covers kinematics-based approaches.
Dynamics-based approaches attempt to solve the problem by simulating physical reality. Motions are generated according to some optimality criteria (such as minimizing joint torques, or following some desired joint trajectories), and taking into account gravity, contact with the floor, moments of inertia of body parts, etc. For example, one approach assumes a functional form for joint torque inputs and solves a Lagrangian formulation of the equations of motion with constraints.
In principle, dynamics-based approaches could generate realistic motion if they incorporate all of the essential components of reality. However, so far, these systems have produced motions which to human observers appear too xe2x80x9csmoothxe2x80x9d or xe2x80x9clinearxe2x80x9d or xe2x80x9cflat.xe2x80x9d This unrealistic result occurs because human motion is not only a function of the physics of motion, but also a function of the control input from our brains to our bodies. In fact, for typical everyday motions (where velocities are far from maximum), the control input is probably more important than the physics. One can act old, sad, or nervous, all with the same body, just by changing the control inputs.
Kinematics-based approaches (historically preceding dynamical approaches) have attempted to generate realistic motion by manipulating joint coordinates and body positions directly. This avoids the complicated and computationally costly need for dynamical simulation. An example of this type of approach is the computer animation technique of key-framing, where an artist defines the body pose and position at certain key times (frames of animation), and the computer produces additional frames between the key-frames to generate the entire sequence. This technique is very labor intensive and requires the trained hand of an artist. Another drawback of this technique is that it cannot be used interactively to adapt animation in response to user actions or to other runtime conditions.
Another kinematics-based approach is the real-time robotics technique of inverse kinematics. While the robotic technique of inverse kinematics does provide a method of automatically altering the joint coordinates of a body in real-time (interactively) in response to user input, it is not satisfactory because the resulting motion is typically unrealistic and robotic-looking. Thus, kinematics-based approaches have not so far yielded automatic generation of realistic animation.
There is also a perceptual aspect of human motion that complicates attempts at generating realistic animation of human or human-like characters. Humans tend to spend much time interacting with other humans, and thus tend to develop much experience at observing human motion. In fact, humans may actually learn how to move their own bodies from observing the motion of other humans. Humans tend to perceive differences in human motion at a more subtle level than differences in other types of motion. Thus, humans are more capable of detecting inaccuracy in the animations of human or human-like motion than inaccuracy in other types of motion, for example dinosaur motion. Therefore, techniques that might not be objectionable for generating dinosaur or animal animation are generally inadequate for generating human or human-like animation. Consequently, there still exists a need for a technique to automatically generate realistic animation.
The present invention provides a technique for acquiring motion samples, labeling motion samples with labels based on a plurality of parameters, using the motion samples and the labels to learn a function that maps labels to motions generally, and using the function to synthesize arbitrary motions. The synthesized motions may be portrayed through computer graphic images to provide realistic animation.
The invention overcomes the inability of prior dynamics-based modeling techniques to fully incorporate all relevant physical phenomena and the increasing computational complexity that arises in those dynamical approaches that attempt to do so. The invention also avoids the labor-intensive efforts required by the prior kinematics-based techniques and provides a capability for responding to high-level control inputs to interactively adapt the animation in a manner not provided by the prior kinematics-based techniques.
The present invention allows the modeling of labeled motion samples in a manner that can accommodate the synthesis of motion of arbitrary location, speed, and style. The modeling can provide subtle details of the motion through the use of probabilistic sub-modeling incorporated into the modeling process.
Motion samples may be labeled according to any relevant parameters. The number of parameters may be increased to provide more variations of possible motion or reduced to increase the efficiency of the process. Labels may be used to differentiate between different styles to yield different models, or different styles of a motion may be consolidated into a single baseline model with the labels used to embellish the baseline model.
The invention allows automation of the animation of synthetic characters by generating the animation based on a general description of the motion desired along with a specification of any embellishments desired.